VPN Mining Platform UI/Feature Mapping
Overview
The VPN Mining Platform consists of two main applications:
- A Flutter-based mobile app for end users
- A NextJS-based admin panel for platform management
User App Features (Flutter)
A. Mining Dashboard
- API Queries
- UI Components
- Implementation
getMiningStatus: Current mining status and rewards
getServerMetrics: Performance metrics
getMiningRewards: Current reward stats
1. Mining Status Card
- Current mining status (active/inactive)
- Server connection status
- Current hashrate
- Quick action buttons
2. Performance Metrics Card
- CPU Usage:
getServerMetrics.cpuUsage
- Memory Usage:
getServerMetrics.memoryUsage
- Network Speed:
getServerMetrics.networkSpeed
- Progress indicators for each metric
3. Rewards Summary Card
- Today's mining rewards:
getMiningRewards.today
- Total rewards:
getMiningRewards.total
- Mining efficiency:
getMiningRewards.efficiency
- Performance trend graph
class MiningDashboard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
children: [
MiningStatusCard(),
PerformanceMetricsCard(),
RewardsSummaryCard(),
],
);
}
}
B. Server Selection & Connection
- API Queries
- UI Components
getAvailableServers: List of mining-enabled servers
getServerDetails: Detailed server information
getProtocolConfig: Available protocols for server
C. Mining Statistics
- API Query
- UI Components
Admin Panel Features (NextJS)
A. Server Management
- API Queries
- UI Components
- Implementation
getAllServers: Global server list
getServerPerformance: Server metrics
getServerConfig: Server configuration
1. Server Overview Dashboard
- Total active servers
- Global performance metrics
- Alert indicators
- Quick action panel
2. Server Management Grid
- Status indicators
- Performance metrics
- User connections
- Mining statistics
const ServerManagement: React.FC = () => {
return (
<div>
<ServerOverviewDashboard />
<ServerManagementGrid />
</div>
);
};
B. Protocol Management
- API Queries
- UI Components
getProtocolStats: Protocol performance
getProtocolConfig: Protocol settings
getUserProtocolUsage: Usage statistics
C. Mining Operations
- API Queries
- UI Components
getMiningOperations: Active mining operations
getMiningStats: Mining statistics
getUserMiningData: User mining details
GraphQL API Reference
Server Management
query GetServers {
servers {
id
name
location
status
metrics {
cpuUsage
memoryUsage
networkSpeed
activeMiners
}
protocols {
type
status
connections
}
}
}
Mining Operations
query GetMiningStatus {
miningStatus {
active
hashrate
efficiency
rewards {
daily
total
pending
}
server {
id
name
performance
}
}
}
Protocol Management
query GetProtocolStats {
protocolStats {
type
activeConnections
dataTransferred
performance {
latency
stability
throughput
}
security {
status
lastUpdated
certificates
}
}
}
Mining Rewards
mutation ClaimRewards {
claimMiningRewards {
amount
timestamp
server {
id
name
}
performance {
efficiency
duration
}
}
}
Server Configuration
mutation UpdateServerConfig {
updateServer(input: $input) {
id
name
config {
mining {
enabled
maxMiners
rewardRate
}
protocols {
enabled
settings
}
performance {
limits
optimization
}
}
}
}
Example Variables
{
"input": {
"serverId": "server_123",
"config": {
"mining": {
"enabled": true,
"maxMiners": 100,
"rewardRate": 1.5
},
"protocols": {
"enabled": ["VLESS", "REALITY"],
"settings": {
"VLESS": {
"port": 443,
"encryption": "aes-256-gcm"
}
}
}
}
}
}